home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / nfsmount / mount_xdr.c < prev    next >
C/C++ Source or Header  |  1989-09-14  |  2KB  |  151 lines

  1. #include <rpc/rpc.h>
  2. #include "mount.h"
  3.  
  4.  
  5. bool_t
  6. xdr_fhandle(xdrs, objp)
  7.     XDR *xdrs;
  8.     fhandle objp;
  9. {
  10.     if (!xdr_opaque(xdrs, objp, FHSIZE)) {
  11.         return (FALSE);
  12.     }
  13.     return (TRUE);
  14. }
  15.  
  16.  
  17.  
  18.  
  19. bool_t
  20. xdr_fhstatus(xdrs, objp)
  21.     XDR *xdrs;
  22.     fhstatus *objp;
  23. {
  24.     if (!xdr_u_int(xdrs, &objp->fhs_status)) {
  25.         return (FALSE);
  26.     }
  27.     switch (objp->fhs_status) {
  28.     case 0:
  29.         if (!xdr_fhandle(xdrs, &objp->fhstatus_u.fhs_fhandle)) {
  30.             return (FALSE);
  31.         }
  32.         break;
  33.     }
  34.     return (TRUE);
  35. }
  36.  
  37.  
  38.  
  39.  
  40. bool_t
  41. xdr_dirpath(xdrs, objp)
  42.     XDR *xdrs;
  43.     dirpath *objp;
  44. {
  45.     if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
  46.         return (FALSE);
  47.     }
  48.     return (TRUE);
  49. }
  50.  
  51.  
  52.  
  53.  
  54. bool_t
  55. xdr_arbname(xdrs, objp)
  56.     XDR *xdrs;
  57.     arbname *objp;
  58. {
  59.     if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
  60.         return (FALSE);
  61.     }
  62.     return (TRUE);
  63. }
  64.  
  65.  
  66.  
  67.  
  68. bool_t
  69. xdr_mountlist(xdrs, objp)
  70.     XDR *xdrs;
  71.     mountlist *objp;
  72. {
  73.     if (!xdr_arbname(xdrs, &objp->ml_hostname)) {
  74.         return (FALSE);
  75.     }
  76.     if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
  77.         return (FALSE);
  78.     }
  79.     if (!xdr_pointer(xdrs, (char **)&objp->ml_next, sizeof(mountlist), xdr_mountlist)) {
  80.         return (FALSE);
  81.     }
  82.     return (TRUE);
  83. }
  84.  
  85.  
  86.  
  87.  
  88. bool_t
  89. xdr_groups(xdrs, objp)
  90.     XDR *xdrs;
  91.     groups *objp;
  92. {
  93.     if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct groupnode), xdr_groupnode)) {
  94.         return (FALSE);
  95.     }
  96.     return (TRUE);
  97. }
  98.  
  99.  
  100.  
  101.  
  102. bool_t
  103. xdr_groupnode(xdrs, objp)
  104.     XDR *xdrs;
  105.     groupnode *objp;
  106. {
  107.     if (!xdr_arbname(xdrs, &objp->gr_name)) {
  108.         return (FALSE);
  109.     }
  110.     if (!xdr_groups(xdrs, &objp->gr_next)) {
  111.         return (FALSE);
  112.     }
  113.     return (TRUE);
  114. }
  115.  
  116.  
  117.  
  118.  
  119. bool_t
  120. xdr_exports(xdrs, objp)
  121.     XDR *xdrs;
  122.     exports *objp;
  123. {
  124.     if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct exportnode), xdr_exportnode)) {
  125.         return (FALSE);
  126.     }
  127.     return (TRUE);
  128. }
  129.  
  130.  
  131.  
  132.  
  133. bool_t
  134. xdr_exportnode(xdrs, objp)
  135.     XDR *xdrs;
  136.     exportnode *objp;
  137. {
  138.     if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
  139.         return (FALSE);
  140.     }
  141.     if (!xdr_groups(xdrs, &objp->ex_groups)) {
  142.         return (FALSE);
  143.     }
  144.     if (!xdr_exports(xdrs, &objp->ex_next)) {
  145.         return (FALSE);
  146.     }
  147.     return (TRUE);
  148. }
  149.  
  150.  
  151.